/*********************************
*-- 33 KDH Knieja ---------------*
*-- im. Harcerzy Września 1939 --*
*-- autor: Marcin Rzepisko ------*
*-- data: 2013-11-10 ------------*
**********************************/

package net.kdh.knieja.dao.impl;

import java.util.List;
import net.kdh.knieja.model.system.Post;
import net.kdh.knieja.dao.interfejsy.ObslugaPostowDAO;
import net.kdh.knieja.dao.klasy.PostDAO;
import net.kdh.knieja.dao.klasy.filtry.FiltrPostowDAO;
import net.kdh.knieja.model.wspolne.wyjatki.BladWarstwyDaoWyjatek;

/**
 *
 * @author rz.marcin@gmail.com
 */
public class ObslugaPostowDaoImpl implements ObslugaPostowDAO {
    PostDAO postDAO = new PostDAO();
    
    @Override
    public List<Post> pobierzPostyArtykulu(String idArtykulu) throws BladWarstwyDaoWyjatek {
        FiltrPostowDAO filtr = new FiltrPostowDAO();
        filtr.setIdArtykulu(idArtykulu);
        return postDAO.pobierzListeElementow(filtr);
    }

    @Override
    public Post pobierzPost(String idPostu) throws BladWarstwyDaoWyjatek {
        FiltrPostowDAO filtr = new FiltrPostowDAO();
        filtr.setIdPostu(idPostu);
        return postDAO.pobierzListeElementow(filtr).get(0);
    }

    @Override
    public List<Post> pobierzPosty(FiltrPostowDAO filtr) throws BladWarstwyDaoWyjatek {
        return postDAO.pobierzListeElementow(filtr);
    }

    @Override
    public List<Post> pobierzHistoriePostu(String idPostu) throws BladWarstwyDaoWyjatek {
        FiltrPostowDAO filtr = new FiltrPostowDAO();
        filtr.setIdZrodlowegoPostu(idPostu);
        return postDAO.pobierzListeElementow(filtr);
    }

    @Override
    public String dodajPost(Post post) throws BladWarstwyDaoWyjatek {
        return postDAO.zapisz(post);
    }

    @Override
    public void edytujPost(Post post) throws BladWarstwyDaoWyjatek {
        postDAO.aktualizuj(post);
    }

    @Override
    public void oznaczPostJakoUsuniety(String idPostu) throws BladWarstwyDaoWyjatek{
        Post post = new Post();
        post.setIdPostu(idPostu);
        post.setUsuniety(true);
        postDAO.aktualizuj(post);
    }

    @Override
    public void usunPost(String idPostu) throws BladWarstwyDaoWyjatek {
        postDAO.usun(idPostu);
    }
}
